package com.ssy.lingxi.system.dto.response;

import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;

/**
 * 权限菜单详情请求实体类
 *
 * @author wrc
 * @date 2020/5/11
 */
public class MenuMemberDetailsResponse {

    /**
     * 菜单名称
     */
    @NotNull
    @ApiModelProperty(value = "菜单ID",required = true)
    private Long id;

    /**
     * 菜单名称
     */
    @NotNull
    @ApiModelProperty(value = "菜单key",required = true)
    private String key;
    /**
     * 菜单名称
     */
    @NotNull
    @ApiModelProperty(value = "菜单名称",required = true)
    private String title;

    /**
     * 菜单名称
     */
    @ApiModelProperty(value = "菜单code")
    private String code;

    /**
     * 菜单链接
     */
    @ApiModelProperty(value = "菜单链接",required = true)
    private String url;

    /**
     * 父菜单ID
     */
    @ApiModelProperty(value = "父菜单ID")
    private Long parentId=0L;


    /**
     * 菜单描述
     */
    @ApiModelProperty(value = "菜单描述",required = true)
    private String describe;
    /**
     * 排序值
     */
    @ApiModelProperty(value = "排序值",required = true)
    private Integer sort;

    @ApiModelProperty("按钮集合")
    List<MenuRoleButtonListResponse> buttons;

    /**
     * 是否上移一层
     */
    private Integer up;

    /**
     * 适用的平台客户端
     */
    private Integer source;

    /**
     * 是否可配置数据权限，0-否，1-是
     */
    private Integer dataAuthConfig;

    /**
     * 菜单属性
     */
    private Map<String, Object> attrs;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Integer getDataAuthConfig() {
        return dataAuthConfig;
    }

    public void setDataAuthConfig(Integer dataAuthConfig) {
        this.dataAuthConfig = dataAuthConfig;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public List<MenuRoleButtonListResponse> getButtons() {
        return buttons;
    }

    public void setButtons(List<MenuRoleButtonListResponse> buttons) {
        this.buttons = buttons;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public String getDescribe() {
        return describe;
    }

    public void setDescribe(String describe) {
        this.describe = describe;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getUp() {
        return up;
    }

    public void setUp(Integer up) {
        this.up = up;
    }

    public Integer getSource() {
        return source;
    }

    public void setSource(Integer source) {
        this.source = source;
    }

    public Map<String, Object> getAttrs() {
        return attrs;
    }

    public void setAttrs(Map<String, Object> attrs) {
        this.attrs = attrs;
    }
}
